package com.example.demo.dao.task;

import com.example.demo.po.task.Task;
import com.example.demo.vo.task.TaskVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface TaskDao {
    Integer insertTask(TaskVO taskVO);

    List<Task> selectValidTaskSimple(@Param("now")LocalDateTime now,@Param("pageNumKey") int pageNum,
                                     @Param("pageSizeKey") int pageSize);

    Integer selectValidTaskSimpleCount(@Param("now")LocalDateTime now);

    List<Task> selectAllTaskSimple(@Param("pageNumKey") int pageNum, @Param("pageSizeKey") int pageSize);

    Integer selectAllTaskSimpleCount();

    List<Task> selectAllValidTaskByUser(@Param("username") String username, @Param("now")LocalDateTime now);

    Task selectTaskById(Integer tid);

    Integer updateCurrentWorkerById(Integer tid);

    Integer selectDifficultyByTid(Integer tid);

}
